package com.zhoug.http3;

/**
 * @Author 35574
 * @Date 2021/3/17
 * @Description
 */
public class ContentType {
    /**
     * json字符串
     * 请求体格式:
     *
     * {"AreaId":"4988362283704158537","PagerInfo":{"PageIndex":1,"PageSize":30,"RowCount":0,"TotalPages":0}}
     *
     */
    public static final String JSON="application/json";
    /**
     * 纯文本
     *
     */
    public static final String TEXT_PLAIN="text/plain";
    /**
     * 文件流,二进制文件,应用程序文件的默认值,没有指定文件的具体类型时使用,
     * 指定文件的具体类型:例上传pdf文件并指定具体类型:application/pdf
     * 只能提交二进制数据，而且只能提交一个二进制数据，如果提交文件的话，只能提交一个文件，
     * 后台接收参数只能有一个，而且只能是流（或者字节数组）
     */
    public static final String OCTET_STREAM="application/octet-stream";
    /**
     * okhttp的二进制文件contentType 怀疑是框架些错误
     */
    public static final String OTCET_STREAM="application/otcet-stream";

    /**
     * apk文件
     */
    public static final String APK="application/vnd.android.package-archive";

    /**
     * POST 提交数据的方式
     * 原生Form表单不设置enctype属性时的默认类型,不支持文件上传
     * 请求体格式是:
     *
     * key1=val1&key2=val2
     *
     */
    public static final String FORM_URLENCODED="application/x-www-form-urlencoded";
    /**
     * POST 提交数据的方式
     *Form表单的enctype设置为multipart/form-data,支持文件上传
     * 请求体的格式是:将表单的数据处理为一条消息，以标签为单元，用分隔符（这就是boundary的作用）分开,例:
     *
     *---------------------------974767299852498929531610575
     * Content-Disposition: form-data; name="userId"
         这里是一条数据
     * ---------------------------974767299852498929531610575
     * Content-Disposition: form-data; name="myFile"; filename="foo.image"
     * 这里是文件字节
     * ---------------------------974767299852498929531610575
     *
     */
    public static final String MULTIPART_FORM_DATA="application/multipart/form-data";



    /**
     * 文件流
     * @param contentType
     * @return
     */
    public static boolean isFileStream(String contentType) {
        return ContentType.OTCET_STREAM.equalsIgnoreCase(contentType)
                || ContentType.OCTET_STREAM.equalsIgnoreCase(contentType)
                || ContentType.APK.equalsIgnoreCase(contentType)
                ;
    }

}
